/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package teste;

import javax.ejb.Stateless;
import javax.inject.Inject;
import jpa.entities.Consulta;
import jpa.entities.Paciente;
import jpa.facade.ConsultaFacade;
import jpa.facade.FuncaoPacienteFacade;
import jpa.facade.PacienteFacade;

/**
 * Este bean serve para testes de métodos e de outros beans.
 * @author Issao Hanaoka Junior
 */
@Stateless
public class TesteBean implements TesteBeanRemote {

    @Inject
    PacienteFacade pacienteFacade;
    @Inject
    FuncaoPacienteFacade funcaoPacienteFacade;
    @Inject
    ConsultaFacade consultaFacade;
    // Add business logic below. (Right-click in editor and choose
    // "Insert Code > Add Business Method")

    @Override
    public String hello() {
        return "olá, EJB!";
    }

    @Override
    public Paciente adicionarPaciente(Object paciente) {
        Paciente p = (Paciente) paciente;

        pacienteFacade.create(p);

        return p;
    }

    @Override
    public Paciente testarPaciente() {
        Paciente p = pacienteFacade.find(4);

        System.out.println("Nome: " + p.getNome());
        System.out.println("Funções: " + p.getFuncaoPacienteCollection().size());

        return p;
    }

    @Override
    public Paciente editarPaciente(Object paciente) {
        pacienteFacade.edit((Paciente) paciente);
        return (Paciente) paciente;
    }

    @Override
    public Consulta testarFuncaoPaciente(Object consulta) {
        consultaFacade.create((Consulta) consulta);
        return (Consulta) consulta;
    }
}
